home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 September / CHIP Eylül 1998.iso / Slackwar / docs / slack-docs / unpack < prev   
Text File  |  1996-05-09  |  5KB  |  205 lines

  1. #!/bin/sh
  2. #
  3. # Slack-Demon unpack v1.0
  4. #
  5. # Written by Ivan Beveridge <ivan@dreamtim.demon.co.uk>
  6. #
  7. # Copyright (C) 1995 Ivan Beveridge
  8. # All rights reserved.
  9. #
  10. #
  11. #
  12. # Redistribution and use of this script, with or without modification, is
  13. # permitted provided that the following conditions are met:
  14. #
  15. # 1. Redistributions of this script must retain the above copyright
  16. #    notice, this list of conditions and the following disclaimer.
  17. #
  18. #  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
  19. #  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  20. #  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
  21. #  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  22. #  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  23. #  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  24. #  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  25. #  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  26. #  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  27. #  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  28. #
  29. #
  30. #
  31. # This is part of the Slack-help package. It helps in with the configuration
  32. # of Linux Slackware to connect to Demon Internet Ltd.
  33. #
  34. #
  35. #
  36. # TODO:
  37. #    * Initiate running of package install scripts (once written).
  38. #    * Modularise further
  39. #
  40. #
  41.  
  42.  
  43. #
  44. # Variable definition section
  45. #
  46. TITLE="Demon Slackware Setup"
  47. ERROR="Error"
  48. WARNING="Warning"
  49. TEMP="./.Slack-Demon-tempfile"
  50.  
  51. # These are the various files to get installed
  52. BASE="base-3.2.tar"
  53. BIND="bind-3.1.tar"
  54. CNEWS="cnews-3.1.tar"
  55. INN="inn-0.62.tar"
  56.  
  57. # These are the base directory names created by the packages
  58. # (to test for installation)
  59. BASEDIR="base"
  60. BINDDIR="bind"
  61. CNEWSDIR="cnews"
  62. INNDIR="inn"
  63.  
  64.  
  65. #
  66. # This checks that the user is ROOT user, otherwise the script is exited.
  67. #
  68.  
  69. LoginWarn () {
  70. if [ $LOGNAME != root ]
  71.   then dialog --title "$TITLE" --msgbox \
  72.     "    You must be root user to run this script.\n
  73. This is done to enable file permissions to be set correctly." 7 64
  74.   exit
  75. fi
  76. }    # LoginWarn ()
  77.  
  78.  
  79. #
  80. # This prints up a pretty banner.
  81. #
  82.  
  83. Banner () {
  84. dialog --infobox \
  85. "Slackware / Demon installation package \n
  86.                 Version 3.0a\n\n\
  87. Written by:
  88.     John Phillips  <john@linux.demon.co.uk>
  89.     Ivan Beveridge <ivan@dreamtim.demon.co.uk>" 9 56
  90.  
  91. sleep 3
  92.  
  93. }    # Banner ()
  94.  
  95.  
  96. #
  97. # Put up a little menu to give the user a choice.
  98. #
  99.  
  100. Menu () {
  101.  
  102. while [ 0 ]; do        # Main loop so that menu returns after a selection.
  103.  
  104. dialog  --title "$TITLE" \
  105.     --menu "Select what you want to do" 13 70 6 \
  106.     "README" "Read the README file" \
  107.     "BASE" "Unpackage PPP and SLIP package" \
  108.     "BIND" "Unpackage the BIND package" \
  109.     "CNEWS" "Unpackage the CNews package" \
  110.     "INN" "Unpackage the INN package" \
  111.     "EXIT" "" 2>$TEMP
  112.  
  113. # Test for Cancel box selected, or escape button pressed
  114.  if [ $? = 1 -o $? = 255 ]; then
  115.   reset
  116.   exit
  117.  fi
  118.  
  119.  
  120. SELECTION=`cat $TEMP`
  121.  
  122. case $SELECTION in
  123.     README)    if [ ! -e ./README ] ; then
  124.           dialog --title "$ERROR" --msgbox \
  125.           "README cannot be found" 5 40 
  126.           continue
  127.         fi
  128.         dialog --title "$TITLE" --textbox "./README" 22 78 ;;
  129.  
  130.     BASE)    if [ ! -e ./$BASE ] ; then
  131.           dialog --title "$ERROR" --msgbox \
  132.           "PPP & SLIP package unavailable for unpackaging" 5 60
  133.           continue
  134.         fi
  135.         if [ -e ./$BASEDIR ] ; then
  136.           dialog --title "$WARNING" \
  137.              --msgbox "PPP & SLIP package already installed" 5 60
  138.           continue
  139.         fi
  140.         tar xpf $BASE
  141.         dialog --title "$TITLE" \
  142.                --msgbox "PPP & SLIP package installed" 5 50 ;;
  143.  
  144.     BIND)    if [ ! -e ./$BIND ] ; then
  145.           dialog --title "$ERROR" --msgbox \
  146.           "BIND package unavailable for unpackaging" 5 60
  147.           continue
  148.         fi
  149.         if [ -e ./$BINDDIR ] ; then
  150.           dialog --title "$WARNING" \
  151.              --msgbox "BIND package already installed" 5 60
  152.           continue
  153.         fi
  154.         tar xpf $BIND 
  155.         dialog --title "$TITLE" \
  156.                --msgbox "BIND package installed" 5 50 ;;
  157.  
  158.     CNEWS)    if [ ! -e ./$CNEWS ] ; then
  159.           dialog --title "$ERROR" --msgbox \
  160.           "CNEWS package unavailable for unpackaging" 5 60
  161.           continue
  162.         fi
  163.         if [ -e ./$CNEWSDIR ] ; then
  164.           dialog --title "$WARNING" \
  165.              --msgbox "CNews package already installed" 5 60
  166.           continue
  167.         fi
  168.         tar xpf $CNEWS 
  169.         dialog --title "$TITLE" \
  170.                --msgbox "CNews package installed" 5 50 ;;
  171.  
  172.     INN)    if [ ! -e ./$INN ] ; then
  173.           dialog --title "$ERROR" --msgbox \
  174.           "INN package unavailable for unpackaging" 5 60
  175.           continue
  176.         fi
  177.         if [ -e ./$INNDIR ] ; then
  178.           dialog --title "$WARNING" \
  179.              --msgbox "INN package already installed" 5 60
  180.           continue
  181.         fi
  182.         tar xpf $INN 
  183.         dialog --title "$TITLE" \
  184.                --msgbox "INN package installed" 5 50 ;;
  185.  
  186.     EXIT)    reset
  187.         break ;;
  188. esac
  189.  
  190. done    # end of Menu loop
  191.  
  192. }     # Menu ()
  193.  
  194.  
  195. #
  196. #
  197. # This is the main part of the program
  198. #
  199. #
  200.  
  201. Banner
  202. LoginWarn
  203. Menu
  204. if [ -e $TEMP ] ; then rm -f $TEMP ; fi
  205.